package file;

import java.io.File;
import java.io.FileFilter;

/** 有条件的获取一个目录中的部分子项 */
public class ListFilesDemo2 {
    public static void main(String[] args) {
        /**
         *  获取 file 目录中所有名字中含有字母 s 的子项
         */
        FileFilter ff = new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                return pathname.getName().contains("s");
                //判断名字中是否包含字母 s
            }
        };
        File dir = new File("./BJava_SE_API/src/file");
        if (dir.isDirectory()) {
            /**
             *  File 重写的 : File[] listFiles(FileFilter filter)
             *  返回当前 File 对象中所有满足给定过滤器要求的子项
             */
            File[] files = dir.listFiles(ff);
            System.out.println("一共有" + files.length + "个子项");
            for (int i = 0; i < files.length; i++) {
                System.out.println(files[i].getName());
            }
        }

    }
}
